package com.dsl.dslsuzhou.model.dto;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;

/**
 * 摄像头数据传输对象
 */
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class CameraDto {
    
    /**
     * 设备ID
     */
    private String devId;
    
    /**
     * 设备名称
     */
    private String devName;
    
    /**
     * 设备状态 (0-离线, 1-在线)
     */
    private Integer status;
    private String statusStr;
    
    /**
     * 租户ID
     */
    @JsonIgnore
    private String tenantId;

    /**
     * 创建时间
     */
    private String createdAt;

    /**
     * 更新时间
     */
    private String updatedAt;

    /**
     * ID
     */
    @JsonIgnore
    private String id;

    /**
     * 产品密钥
     */
    @JsonIgnore
    private String productKey;

    /**
     * 制造商
     */
    @JsonIgnore
    private String manufacturer;

    /**
     * 平台标识
     */
    @JsonIgnore
    private String platformIdentify;

    /**
     * 平台设备ID
     */
    @JsonIgnore
    private String platformDeviceId;

    /**
     * 平台通道ID
     */
    @JsonIgnore
    private String platformChannelId;

    /**
     * 摄像头类型
     */
    @JsonIgnore
    private String cameraType;

    /**
     * 地理编码系统
     */
    @JsonIgnore
    private String geocodingSys;

    /**
     * GCJ02经度
     */
    @JsonIgnore
    private Double longitudeGcj02;

    /**
     * GCJ02纬度
     */
    @JsonIgnore
    private Double latitudeGcj02;

    /**
     * WGS84经度
     */
    @JsonIgnore
    private Double longitudeWgs84;

    /**
     * WGS84纬度
     */
    @JsonIgnore
    private Double latitudeWgs84;

    /**
     * 分组ID
     */
    @JsonIgnore
    private String groupId;

    /**
     * 分组名称
     */
    @JsonIgnore
    private String groupName;

    /**
     * 扩展信息
     */
    @JsonIgnore
    private String ext;

    /**
     * 特征信息
     */
    @JsonIgnore
    private String feature;

    /**
     * 摄像头类型描述
     */
    @JsonIgnore
    private String cameraTypeDesc;

    // 保留原有字段用于兼容性
    /**
     * 设备类型
     */
    @JsonIgnore
    private String devType;

    /**
     * 设备位置
     */
    @JsonIgnore
    private String location;

    /**
     * IP地址
     */
    @JsonIgnore
    private String ip;

    /**
     * 端口
     */
    @JsonIgnore
    private Integer port;

    /**
     * 通道号
     */
    @JsonIgnore
    private String channel;

    /**
     * 创建时间（兼容字段）
     */
    @JsonIgnore
    private String createTime;

    /**
     * 更新时间（兼容字段）
     */
    @JsonIgnore
    private String updateTime;
}
